package edu.mju.dao;

import edu.mju.entity.User;
import edu.mju.util.Pager;

import java.util.List;

/**
 * @Author:wyp
 * @Date:2020/5/9 9:19
 */
public interface IUserDao {
    public boolean deleteById(Integer userId);

    public User findByUserName(String userName);
    /**
     *  添加方法
     * @param user
     * @return 插入成功为：true ，否则为：false
     */
    public boolean insert(User user);

    /**
     *  执行注册公司用户操作
     * @param user
     * @return 返回User到CompanyComtroller.companyAdd()中
     */
    User insertCompanyUser(User user);

    /**
     *  更新方法
     * @param user
     * @return 更新成功为：1 ，否则为0
     */
    public boolean update(User user);

    /**
     *  更新方法(更改用户名密码)
     * @param user
     * @return 更新成功为：1 ，否则为0
     */
    public boolean update2(User user);

    /**
     * 找回密码
     * @param user
     * @return
     */
    boolean updateFindUser(User user);
    /**
     *  删除方法：根据ID删除
     * @param user
     * @return 删除成功为：true ，否则为false
     */
    public boolean delete(User user);

    /**
     *  通过ID查找数据
     * @param id
     * @return User
     */
    public User findById (Integer id);

    /**
     *  查找所有数据
     * @return List<User>集合
     */
    public List<User> findAll();

    /**
     *  根据条件查询相关数据
     * @param user
     * @return
     */
    public List<User> find(User user);

    /**
     *  分页查询数据
     * @param page
     * @param pageSize
     * @param user
     * @return
     */
    public Pager pagenate(int page, int pageSize, User user);


}
